
const e = require('express');
const express = require('express');
const fs = require('fs');
const moment = require('moment');

const server = express();

const router = require('./route/all');
server.use('/static',express.static('./resource'));
server.use(function(req,res,next){

    fs.appendFile('./log.txt',`${moment().subtract(10, 'days').calendar()} ----${req.method} ${req.url} ${req.headers['user-agent']}}\n`,(err,data)=>{})
    next();
})

// 如果请求格式正确 那么直接返回结果给前端
// 如果错误 把错误定位到全局上 

// 自己约定一个代码格式  

// 1 格式不对 参数类型 
// 2 参数数量不够 
// 3 表示token有问题 
// 4 请求方法不对
// 5 服务器内部错误



server.use('/api',router);


server.use(function(err,req,res,next){

    // 全局错误中间件 必须接收4个参数
    // err 表示错误信息
    // req 请求对象
    // res 响应对象
    // next 下一个中间件
    if(err === 5){
        res.send({
            code:5,
            message:'别看了 token有问题'
        })
    }

    if(err === 4){
        res.send({
            code:4,
            message:'请求方法不对'
        })
    }

    if(err === 2){
        res.send({
            code:2,
            message:'参数数量不够'
        })
    }


    if(err === 3){
        res.send({
            code:3,
            message:'参数格式不对'
        })
    }
});


server.listen(5000,()=>{
    console.log('服务器启动成功');
})